package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备安装应用信息对象 tb_device_apps
 * 
 * @author ruoyi
 * @date 2025-07-23
 */
@Data
@Schema(description = "设备安装应用信息对象")
public class TbDeviceApps extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    @Schema(description = "自增主键")
    private Long id;

    /** 关联的设备ID(对应tb_device.device_sn) */
    @Excel(name = "关联的设备ID(对应tb_device.device_sn)")
    @Schema(description = "关联的设备ID(对应tb_device.device_sn)")
    private String deviceSn;
    /** 应用包名 */
    @Excel(name = "应用包名")
    @Schema(description = "应用包名")
    private String packageName;

    /** 版本号 */
    @Excel(name = "版本号")
    @Schema(description = "版本号")
    private String packageVersioncode;

    /** 版本编号 */
    @Excel(name = "版本编号")
    @Schema(description = "版本编号")
    private String packageVersionnumber;

    /** 应用名称 */
    @Excel(name = "应用名称")
    @Schema(description = "应用名称")
    private String appName;

    /** 安装时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "安装时间")
    @Excel(name = "安装时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installDate;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "最后更新时间")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 是否系统应用(0=否 1=是) */
    @Excel(name = "是否系统应用(0=否 1=是)")
    @Schema(description = "是否系统应用(0=否 1=是)")
    private Integer isSystemApp;

    /** 状态(0=禁用 1=启用 2=待更新) */
    @Excel(name = "状态(0=禁用 1=启用 2=待更新)")
    @Schema(description = "状态(0=禁用 1=启用 2=待更新)")
    private Integer status;

}
